dg/predictable agent versioning - #13
Closed
indradhanush wants to merge 11 commits into
Closed
Conversation
indradhanush
commented
Jul 16, 2026
Collaborator
- fix(agent): Do not cleanup uninstallation secret (fix(agent): Do not cleanup uninstallation secret cluster-api-provider-bringyourownhost#135)
- update byoh agent version in byohctl (update byoh agent version in byohctl cluster-api-provider-bringyourownhost#137)
- fix(webhook): Skip host ownership check (fix(webhook): Skip host ownership check cluster-api-provider-bringyourownhost#136)
- chore: Update CLAUDE.md (chore: Update CLAUDE.md cluster-api-provider-bringyourownhost#138)
- build(byohctl): derive VERSION from git describe
- feat(byohctl): resolve agent bundle URL from byohctl's own version
- build(ci): compute agent deb bundle version from git describe
- ci: publish agent deb bundle on every push to main
- fix(byohctl): nest agent bundle path under the repo's own OCI path
- fix(ci): push agent deb bundle to the repo-nested quay path
- chore: s/ByohAgentBundleURL/byohAgentBundleURL/
* fix(agent): Do not cleanup uninstallation secret This breaks host cleanup today because we let the management plane controller do the uninstllation cleanup. Unfortuantely we have a split ownership of cleanup today. Fix in a future PR. * fixup! fix(agent): Do not cleanup uninstallation secret
We need to revisit the cert based flow to make this work. But for now disable the check so that we can onboard a host with a token based flow.
VERSION now defaults to git describe --dirty --tags --match='v*' (matching kaapi's Makefile philosophy) instead of manually-bumped MAJOR.MINOR.BUILD_NUMBER, so byohctl's baked-in version is tied to the exact commit it was built from with no manual bump step. VERSION remains overridable for local testing via make build VERSION=v9.9.9-test.
The hardcoded ByohAgentDebPackageURL constant required a manual hand-edit every time the agent bundle changed. Replace it with a ByohAgentBundleURL() function that composes the OCI repo path with byohctl's own baked-in version.GetVersion(), so byohctl and its expected agent bundle are always tied to the same git-describe version with zero manual edits.
Version now comes from `git describe --dirty --tags --match='v*'` (overridable via `BYOH_DEB_VERSION` env var) instead of an externally- supplied `BUILD_NUMBER`. This ensures the published bundle tag matches what byohctl bakes in at build time with no manual coordination. Also corrects the stale "byoh-deb" echo string to "byoh-agent-deb" to match the actual push target. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Closes the loop: every push to main that passes CI now automatically builds and publishes the agent deb bundle tagged with that commit's git-describe version. This replaces the previous manual rebuild-and- hand-edit-a-constant process. Triggers via `workflow_run` off the existing CI workflow's success (avoiding a duplicate test run) plus a manual `workflow_dispatch` for dry runs. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The agent bundle now lives at quay.io/platform9/cluster-api-provider-bringyourownhost/agent instead of the separately-named quay.io/platform9/byoh-agent-deb. This aligns the artifact path with the actual GitHub repository name, avoiding confusion with an unrelated flat naming scheme.
Update the publish target to match the new quay.io/platform9/cluster-api-provider-bringyourownhost/agent path that byohctl now expects. This ensures the CI pipeline pushes to the same OCI registry location that the agent installer references.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.